package es.ucm.fdi.pe.practica2.genetico2;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;

public class CargarFichero {

	BufferedReader br;
	String rutaFichero;
	ArrayList<Alumno> lista;
	
	public CargarFichero(String ruta) throws Exception{
		rutaFichero=ruta;
		lista=new ArrayList<Alumno>();
		br=new BufferedReader(new FileReader(rutaFichero));
		leerDatos();
		br.close();
	}	
	
	private void leerDatos() throws Exception{
		int numAlumnos;
		int lineasLeidas=0;
		String linea="";
		String[] componentes;
		
		linea=br.readLine();
		componentes=linea.split(" ");
		numAlumnos=Integer.valueOf(componentes[0]);
		
		while((linea=br.readLine()) != null){
			if(lineasLeidas<numAlumnos){	
				componentes=linea.split(" ");
				Alumno a = new Alumno(Integer.valueOf(componentes[0]),Double.valueOf(componentes[1]));
				lista.add(a);
				lineasLeidas++;
			}else{ 
				componentes=linea.split(" ");
				Alumno a;
				a=lista.get(obtenerIndice(lista,Integer.valueOf(componentes[0])));
				a.addExcluido(Integer.valueOf(componentes[1]));
			}
		}
	}
	
	public int obtenerIndice(ArrayList<Alumno> l, int id){	
		boolean encontrado=false;
		boolean error=false;
		int indice=0;
		
		while(indice<l.size()&&!error&&!encontrado){
			if(l.get(indice)==null?error=true:l.get(indice).getIdentificador()==id)	
				encontrado=true;
			if(!encontrado)
				indice++;
		}
		if(encontrado)
			return indice;
		else
			return -1;
	}
	
	public ArrayList<Alumno> getLista() {
		return lista;
	}
	
	public static void main (String args[]) throws Exception{
		ArrayList<Alumno> list=new ArrayList<Alumno>();
		CargarFichero c = new CargarFichero("./Ficheros/1.txt");
		list=c.getLista();
		System.out.println(list.size());
		for(Alumno a:list)
			System.out.println(a.toString());
	}

}
